﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DAL;
using Entities;

namespace QuanLyBilliards_Coffee
{
    public partial class FormThemHangHoa : Form
    {
        int gt = Form1.kt;
        public FormThemHangHoa()
        {
            InitializeComponent();
            LoadNhaCungCap();
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void FormThemHangHoa_Load(object sender, EventArgs e)
        {
            if (gt == 1)
            {
                btnCapNhatHangHoa.Enabled = false;

            }
            else
            {
                btnThemHangHoa.Enabled = false;
                txtMaHangHoa.Enabled = false;
                txtMaHangHoa.Text = Form1.ma;
                txtTenHangHoa.Text = Form1.ten;
            }

        }
        public void LoadNhaCungCap()
        {
            NhaCungCapRepository cc = new NhaCungCapRepository();
            IQueryable<NhaCungCap> list = cc.GetAll();
            foreach (NhaCungCap a in list)
            {
                cbbNhaCungCap.Items.Add(a);

            }
            cbbNhaCungCap.DisplayMember = "TenNCC";
            cbbNhaCungCap.ValueMember = "MaNCC";
            cbbNhaCungCap.SelectedIndex = 0;


        }
        //CNHH thuy
        private void btnCapNhatHangHoa_Click(object sender, EventArgs e)
        {

            HangHoa hh = new HangHoa();
            hh.MaHH = txtMaHangHoa.Text;
            hh.TenHH = txtTenHangHoa.Text;
            hh.LoaiHH = cbbLoaiHangHoa.Text;
            if ((txtMaHangHoa.Text == "" && txtTenHangHoa.Text == "") || (txtMaHangHoa.Text != "" && txtTenHangHoa.Text == "") || (txtMaHangHoa.Text == "" && txtTenHangHoa.Text != ""))
            {
                MessageBox.Show("Bạn cần phải nhập đầy đủ cả tên và mã hàng hóa");
            }
            else
            {
                if (cbbLoaiHangHoa.SelectedIndex == -1)
                {
                    MessageBox.Show("Bạn chưa chọn loại hàng hóa");
                }
                else
                {
                    hh.LoaiHH = cbbLoaiHangHoa.Text;

                    if (XuLyChuoiVao.KiemTraSo(txtSoLuongHangHoa.Text) == false)
                    {
                        MessageBox.Show("Số lượng hàng hóa phải nhập số");
                    }
                    else
                    {
                        hh.SoLuong = int.Parse(txtSoLuongHangHoa.Text);
                        hh.DonViTinh = cboDonViTinh.Text;
                        if (cboDonViTinh.SelectedIndex == -1)
                        {
                            MessageBox.Show("Bạn chưa chọn đơn vị tính");
                        }
                        else
                        {
                            if (XuLyChuoiVao.KiemTraSo(txtGiaTienMuaHangHoa.Text) == false && XuLyChuoiVao.KiemTraSo(txtGiaTienBan.Text) == false)
                            {
                                MessageBox.Show("Giá tiền phải nhập số");
                            }
                            else
                            {
                                hh.GiaMua = int.Parse(txtGiaTienMuaHangHoa.Text);
                                hh.GiaBan = int.Parse(txtGiaTienBan.Text);
                                INhaCungCapRepository nhacc = new NhaCungCapRepository();
                                NhaCungCap cc = nhacc.GetByTenNhaCungCap(cbbNhaCungCap.Text);
                                hh.NhaCC = cc.MaNCC;
                                hh.NgayHethan = dtpNgayHetHanHangHoa.Value.ToShortDateString();
                                HangHoaRepository update = new HangHoaRepository();
                                
                                    if (update.Update(hh))
                                    {
                                        MessageBox.Show("Thành công");
                                        this.Close();
                                    }
                                    else
                                    {
                                        MessageBox.Show("Lỗi");
                                        
                                        txtMaHangHoa.Text = "";
                                        txtGiaTienBan.Text = "0";
                                        txtGiaTienMuaHangHoa.Text = "0";
                                        txtSoLuongHangHoa.Text = "0";
                                        cbbLoaiHangHoa.SelectedIndex = -1;
                                        cbbNhaCungCap.SelectedIndex = -1;
                                        cboDonViTinh.SelectedIndex = -1;
                                    }
                            }

                        }
                    }
                }
            }
        }

        private void btnThemHangHoa_Click(object sender, EventArgs e)
        {
            HangHoa hh = new HangHoa();
            hh.MaHH = txtMaHangHoa.Text;
            hh.TenHH = txtTenHangHoa.Text;
            hh.LoaiHH = cbbLoaiHangHoa.Text;
            if ((txtMaHangHoa.Text == "" && txtTenHangHoa.Text == "") || (txtMaHangHoa.Text != "" && txtTenHangHoa.Text == "") || (txtMaHangHoa.Text == "" && txtTenHangHoa.Text != ""))
            {
                MessageBox.Show("Bạn cần phải nhập đầy đủ cả tên và mã hàng hóa");
            }
            else
            {
                if (cbbLoaiHangHoa.SelectedIndex == -1)
                {
                    MessageBox.Show("Bạn chưa chọn loại hàng hóa");
                }
                else
                {
                    hh.LoaiHH = cbbLoaiHangHoa.Text;

                    if (XuLyChuoiVao.KiemTraSo(txtSoLuongHangHoa.Text) == false)
                    {
                        MessageBox.Show("Số lượng hàng hóa phải nhập số");
                    }
                    else
                    {
                        hh.SoLuong = int.Parse(txtSoLuongHangHoa.Text);
                        hh.DonViTinh = cboDonViTinh.Text;
                        if (cboDonViTinh.SelectedIndex == -1)
                        {
                            MessageBox.Show("Bạn chưa chọn đơn vị tính");
                        }
                        else
                        {
                            if (XuLyChuoiVao.KiemTraSo(txtGiaTienMuaHangHoa.Text) == false && XuLyChuoiVao.KiemTraSo(txtGiaTienBan.Text) == false)
                            {
                                MessageBox.Show("Giá tiền phải nhập số");
                            }
                            else
                            {
                                hh.GiaMua = int.Parse(txtGiaTienMuaHangHoa.Text);
                                hh.GiaBan = int.Parse(txtGiaTienBan.Text);
                                INhaCungCapRepository nhacc = new NhaCungCapRepository();
                                NhaCungCap cc = nhacc.GetByTenNhaCungCap(cbbNhaCungCap.Text);
                                hh.NhaCC = cc.MaNCC;
                                hh.NgayHethan = dtpNgayHetHanHangHoa.Text;
                                HangHoaRepository update = new HangHoaRepository();
                                HangHoa a = update.GetByMaHangHoa(txtMaHangHoa.Text);
                                if (a != null)
                                {
                                    MessageBox.Show("hàng hóa đã tồn tại");
                                }
                                else
                                {
                                    if (update.AddNew(hh))
                                    {
                                        MessageBox.Show("Thành công");
                                        Reset();
                                    }
                                    else
                                    {
                                        MessageBox.Show("Lỗi");
                                    }
                                }
                            }

                        }
                    }
                }
            }
        }

        private void Reset()
        {
            txtTenHangHoa.Text = "";
            txtMaHangHoa.Text = "";
            txtGiaTienBan.Text = "0";
            txtGiaTienMuaHangHoa.Text = "0";
            txtSoLuongHangHoa.Text = "0";
            cbbLoaiHangHoa.SelectedIndex = -1;
            cbbNhaCungCap.SelectedIndex = -1;
            cboDonViTinh.SelectedIndex = -1;
        }

       
    }
}
